The promise of storage area networks was to separate storage from application servers and to develop storage as a first-class entity that would provide services to applications. Today's storage networks are very complex with thousands of application servers, tens of thousands of storage volumes and a few hundred thousand data paths between the servers and the storage volumes. It is thus not easy for one or even several human administrators take decisions about complex storage area networks using manual tools, neither is it practical to assume the decisions will achieve storage quality of service (QoS) guarantees for an extended period of time.
Several existing approaches have tackled the problem of satisfying application QoS requirements in large-scale storage systems. Dynamic tuning of resource allocations to meet the QoS requirements has been proposed before. Another uses a proportional sharing scheduling algorithm to admit requests from various applications to the storage subsystem. In addition, it uses a feedback control to adjust the disk queue length. Triage adopts an adaptive controller that can automatically adjust the system model based on input-output observations.
The proposed technique is independent of the QoS requirements of the applications and addresses automation of the mechanism to achieve long-term storage quality of service for the application servers in the storage area network, while minimizing the human component in the decision making and uses the aggregate component utilization as the balancing metric for dynamic data migration.